package pms.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import pms.dao.RennenDao;
import pms.dao.RennlaeuferDao;
import pms.dao.RennstatistikDao;


/**
 * Controller to generate the Home Page basics to be rendered by a view. It
 * extends the convenience class AbstractController that encapsulates most of
 * the drudgery involved in handling HTTP requests.
 * 
 * @author josef@dr-schneeberger.de
 */
public class SaveRennstatistik2 extends AbstractController {
	private RennstatistikDao rennstatistikDao;
	
	public void setRennstatistikDao(RennstatistikDao rennstatistikDao) {
		this.rennstatistikDao = rennstatistikDao;
	}



	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		@SuppressWarnings("rawtypes")
		Map pm = httpServletRequest.getParameterMap();
		String[] rennlaeuferIds = (String[]) pm.get("rennlaeuferId");
		String busplatz = (String) pm.get("busplatz");
		int rennenId;
		int laeuferId;
		int klassenrang;
		int gesamtrang;
		ModelAndView mv = new ModelAndView();
		try {
			rennenId = Integer.parseInt(httpServletRequest.getParameter("rennenId"));
			laeuferId = Integer.parseInt(httpServletRequest.getParameter("rennlaeuferId"));
			klassenrang = Integer.parseInt(httpServletRequest.getParameter("klassenrang"));
			gesamtrang = Integer.parseInt(httpServletRequest.getParameter("gesamtrang"));
		//	rennenDao.konfiguriereRennstat(rennenId, rennlaeuferIds, busplatz);
			rennstatistikDao.modifyRennstat(rennenId,laeuferId,klassenrang,gesamtrang);
	//		mv.addObject("title", "Konfiguration des Rennens " + rennenDao.findById(rennenId).getRennbezeichnung());
			mv.addObject("message", "Das Rennen wurde erfolgreich zusammengestellt. " + "Es nehmen " + rennlaeuferIds.length + " Rennläufer teil.");
		} catch (NumberFormatException e) {
			mv.addObject("title", "Erfassung der Ränge");
			mv.addObject("message", "Die Ränge konnten nicht gespeichert werden. Ein Fehler ist aufgetreten!");
		}
		mv.setViewName("home"); //alt("list-rennen")
		return mv;
	}

}
